

/* this ALWAYS GENERATED file contains the definitions for the interfaces */


 /* File created by MIDL compiler version 6.00.0361 */
/* Compiler settings for theme.idl:
    Oicf, W1, Zp8, env=Win32 (32b run)
    protocol : dce , ms_ext, c_ext, robust
    error checks: allocation ref bounds_check enum stub_data 
    VC __declspec() decoration level: 
         __declspec(uuid()), __declspec(selectany), __declspec(novtable)
         DECLSPEC_UUID(), MIDL_INTERFACE()
*/
//@@MIDL_FILE_HEADING(  )

#pragma warning( disable: 4049 )  /* more than 64k source lines */


/* verify that the <rpcndr.h> version is high enough to compile this file*/
#ifndef __REQUIRED_RPCNDR_H_VERSION__
#define __REQUIRED_RPCNDR_H_VERSION__ 475
#endif

#include "rpc.h"
#include "rpcndr.h"

#ifndef __RPCNDR_H_VERSION__
#error this stub requires an updated version of <rpcndr.h>
#endif // __RPCNDR_H_VERSION__


#ifndef __theme_h__
#define __theme_h__

#if defined(_MSC_VER) && (_MSC_VER >= 1020)
#pragma once
#endif

/* Forward Declarations */ 

#ifndef __ITheme_FWD_DEFINED__
#define __ITheme_FWD_DEFINED__
typedef interface ITheme ITheme;
#endif 	/* __ITheme_FWD_DEFINED__ */


#ifndef __IThemeScheme_FWD_DEFINED__
#define __IThemeScheme_FWD_DEFINED__
typedef interface IThemeScheme IThemeScheme;
#endif 	/* __IThemeScheme_FWD_DEFINED__ */


#ifndef __IThemeStyle_FWD_DEFINED__
#define __IThemeStyle_FWD_DEFINED__
typedef interface IThemeStyle IThemeStyle;
#endif 	/* __IThemeStyle_FWD_DEFINED__ */


#ifndef __IThemeSize_FWD_DEFINED__
#define __IThemeSize_FWD_DEFINED__
typedef interface IThemeSize IThemeSize;
#endif 	/* __IThemeSize_FWD_DEFINED__ */


#ifndef __IThemeManager_FWD_DEFINED__
#define __IThemeManager_FWD_DEFINED__
typedef interface IThemeManager IThemeManager;
#endif 	/* __IThemeManager_FWD_DEFINED__ */


#ifndef __ThemeManager_FWD_DEFINED__
#define __ThemeManager_FWD_DEFINED__

#ifdef __cplusplus
typedef class ThemeManager ThemeManager;
#else
typedef struct ThemeManager ThemeManager;
#endif /* __cplusplus */

#endif 	/* __ThemeManager_FWD_DEFINED__ */


#ifndef __Theme_FWD_DEFINED__
#define __Theme_FWD_DEFINED__

#ifdef __cplusplus
typedef class Theme Theme;
#else
typedef struct Theme Theme;
#endif /* __cplusplus */

#endif 	/* __Theme_FWD_DEFINED__ */


#ifndef __ThemeScheme_FWD_DEFINED__
#define __ThemeScheme_FWD_DEFINED__

#ifdef __cplusplus
typedef class ThemeScheme ThemeScheme;
#else
typedef struct ThemeScheme ThemeScheme;
#endif /* __cplusplus */

#endif 	/* __ThemeScheme_FWD_DEFINED__ */


#ifndef __ThemeStyle_FWD_DEFINED__
#define __ThemeStyle_FWD_DEFINED__

#ifdef __cplusplus
typedef class ThemeStyle ThemeStyle;
#else
typedef struct ThemeStyle ThemeStyle;
#endif /* __cplusplus */

#endif 	/* __ThemeStyle_FWD_DEFINED__ */


#ifndef __ThemeSize_FWD_DEFINED__
#define __ThemeSize_FWD_DEFINED__

#ifdef __cplusplus
typedef class ThemeSize ThemeSize;
#else
typedef struct ThemeSize ThemeSize;
#endif /* __cplusplus */

#endif 	/* __ThemeSize_FWD_DEFINED__ */


#ifndef __IThemePreview_FWD_DEFINED__
#define __IThemePreview_FWD_DEFINED__
typedef interface IThemePreview IThemePreview;
#endif 	/* __IThemePreview_FWD_DEFINED__ */


#ifndef __ThemePreview_FWD_DEFINED__
#define __ThemePreview_FWD_DEFINED__

#ifdef __cplusplus
typedef class ThemePreview ThemePreview;
#else
typedef struct ThemePreview ThemePreview;
#endif /* __cplusplus */

#endif 	/* __ThemePreview_FWD_DEFINED__ */


/* header files for imported files */
#include "oaidl.h"
#include "ocidl.h"
#include "dimm.h"

#ifdef __cplusplus
extern "C"{
#endif 

void * __RPC_USER MIDL_user_allocate(size_t);
void __RPC_USER MIDL_user_free( void * ); 

/* interface __MIDL_itf_theme_0000 */
/* [local] */ 

#ifndef _THEMEIDL_IDL_H_
#define _THEMEIDL_IDL_H_



extern RPC_IF_HANDLE __MIDL_itf_theme_0000_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_theme_0000_v0_0_s_ifspec;


#ifndef __Theme_LIBRARY_DEFINED__
#define __Theme_LIBRARY_DEFINED__

/* library Theme */
/* [version][lcid][helpstring][uuid] */ 





#ifndef __LPTHEMEMANAGER_DEFINED
#define __LPTHEMEMANAGER_DEFINED
//===================================================================
//DESCRIPTION:
//   This object will allow users to view what 'Visual Style' or
//'Color Scheme' or 'Appearance Scheme' is set.  This will appear
//in the Display Control Panel under the Theme or Appearance tab.
//
//DEFINITIONS:
//   Theme: This is a .theme plus! pack file.  The display control
//          panel can change these on the Themes tab.
//   Scheme: This is a visual style (.mstheme file) or it can indicate
//          that no visual style is selected.
//   Style: If Scheme is a .mstheme file, then this is the color section in that file.
//          Otherwise, this is the 'Appearance Scheme' which was available
//          in previous versions of Windows.
//   Size:  This is the size of the Style, normally 'Normal', 'Large', or 'Extra Large'.
//
//METHODS:
//   get_SelectedTheme: This method will return the currently selected .theme file.
//   put_SelectedTheme: This method will set the currently selected .theme file.
//               The change will not take effect until ApplyNow() is called.
//   get_SelectedScheme: This method will return the currently selected .mstheme file.
//   put_SelectedScheme: This method will set the currently selected .mstheme file.
//               The change will not take effect until ApplyNow() is called.
//   get_length: Returns the number of installed .theme files.
//   get_item: Returns an installed Theme object.  The lookup can happen by index
//               or filename.
//   get_schemeLength: Returns the number of installed .mstheme files.
//   get_schemeItem: Returns an installed .mstheme object.  The lookup can happen by index
//               or filename.  The zero (0) index or empty VT_BSTR value points to the
//               'No .mstheme' object which matches the 'Windows Classic' look with no .mstheme.
//   ApplyNow: Apply the changes made to put_SelectedTheme() or put_SelectedScheme().
//               This includes persisting the change and broadcasting the change to running applications.
//===================================================================
#endif //  __LPTHEMEMANAGER_DEFINED
#ifndef __LPTHEME_DEFINED
#define __LPTHEME_DEFINED
//===================================================================
//DESCRIPTION:
//GetIcon: The first parameter will specify the icon to fetch.  The format
//         will be: <RegKey>:<IconType>  An example for the recycle bin is:
//         CLSID\{645FF040-5081-101B-9F08-00AA002F954E}\DefaultIcon::empty
//         The value returned with be the path to the icon file, a comma, and
//         the icon resource index.  For example: C:\windows\file.dll,12
//
//METHODS:
//DisplayName: The display name maybe point to a resource in order to be MUI
//         compatible.  For example, '@themeui.dll,-172'.
//Background: This is the path to the background wallpaper.
//BackgroundTile: This will indicate if the wallpaper should be tiled, stretched, or centered.
//ScreenSaver: The path to the screen saver.
//VisualStyle: The path to the .mstheme visual style file.
//VisualStyleColor: The color to choose in the .mstheme file.
//VisualStyleSize: The size to choose in the .mstheme file.
//get_GetPath: The path to the theme (.theme file).
//SetIcon: The path and resource index of the icon.  The
//         following example will be for the Recycle Bin in the empty state:
//         bstrIconName = CLSID\{645FF040-5081-101B-9F08-00AA002F954E}\DefaultIcon:empty
//         bstrIconPath = C:\winnt\SYSTEM32\shell32.dll,31
//
//===================================================================
#endif //  __LPTHEME_DEFINED
#ifndef __LPTHEMESCHEME_DEFINED
#define __LPTHEMESCHEME_DEFINED
//===================================================================
//DESCRIPTION:
//===================================================================
#endif //  __LPTHEMESCHEME_DEFINED
#ifndef __LPTHEMESTYLE_DEFINED
#define __LPTHEMESTYLE_DEFINED
//===================================================================
//DESCRIPTION:
//===================================================================
#endif //  __LPTHEMESTYLE_DEFINED
#ifndef __LPTHEMESIZES_DEFINED
#define __LPTHEMESIZES_DEFINED
//===================================================================
//DESCRIPTION:
//===================================================================
#endif //  __LPTHEMESIZES_DEFINED
#ifndef __LPTHEMEPREVIEW_DEFINED
#define __LPTHEMEPREVIEW_DEFINED
//===================================================================
//DESCRIPTION:
//===================================================================
#endif //  __LPTHEMEPREVIEW_DEFINED

EXTERN_C const IID LIBID_Theme;

#ifndef __ITheme_INTERFACE_DEFINED__
#define __ITheme_INTERFACE_DEFINED__

/* interface ITheme */
/* [uuid][helpstring][nonextensible][dual][oleautomation][object] */ 

typedef /* [unique] */ ITheme *LPTHEME;

// ITheme::get_BackgroundTile() Tiles
typedef /* [public][public][public] */ 
enum __MIDL_ITheme_0001
    {	BKDGT_CENTER	= 0,
	BKDGT_TILE	= BKDGT_CENTER + 1,
	BKDGT_STRECH	= BKDGT_TILE + 1
    } 	enumBkgdTile;


EXTERN_C const IID IID_ITheme;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("A41C22EB-0F93-40ae-B7CE-37A4C4C81B01")
    ITheme : public IDispatch
    {
    public:
        virtual /* [bindable][displaybind][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_DisplayName( 
            /* [out][retval] */ BSTR *pbstrDisplayName) = 0;
        
        virtual /* [bindable][displaybind][helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_DisplayName( 
            /* [in] */ BSTR bstrDisplayName) = 0;
        
        virtual /* [bindable][displaybind][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_Background( 
            /* [out][retval] */ BSTR *pbstrPath) = 0;
        
        virtual /* [bindable][displaybind][helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_Background( 
            /* [in] */ BSTR bstrPath) = 0;
        
        virtual /* [bindable][displaybind][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_BackgroundTile( 
            /* [out][retval] */ enumBkgdTile *pnTile) = 0;
        
        virtual /* [bindable][displaybind][helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_BackgroundTile( 
            /* [in] */ enumBkgdTile nTile) = 0;
        
        virtual /* [bindable][displaybind][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_ScreenSaver( 
            /* [out][retval] */ BSTR *pbstrPath) = 0;
        
        virtual /* [bindable][displaybind][helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_ScreenSaver( 
            /* [in] */ BSTR bstrPath) = 0;
        
        virtual /* [bindable][displaybind][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_VisualStyle( 
            /* [out][retval] */ BSTR *pbstrPath) = 0;
        
        virtual /* [bindable][displaybind][helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_VisualStyle( 
            /* [in] */ BSTR bstrPath) = 0;
        
        virtual /* [bindable][displaybind][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_VisualStyleColor( 
            /* [out][retval] */ BSTR *pbstrPath) = 0;
        
        virtual /* [bindable][displaybind][helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_VisualStyleColor( 
            /* [in] */ BSTR bstrPath) = 0;
        
        virtual /* [bindable][displaybind][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_VisualStyleSize( 
            /* [out][retval] */ BSTR *pbstrPath) = 0;
        
        virtual /* [bindable][displaybind][helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_VisualStyleSize( 
            /* [in] */ BSTR bstrPath) = 0;
        
        virtual /* [displaybind][helpstring][id] */ HRESULT STDMETHODCALLTYPE GetPath( 
            /* [in] */ VARIANT_BOOL fExpand,
            /* [out][retval] */ BSTR *pbstrPath) = 0;
        
        virtual /* [displaybind][helpstring][id] */ HRESULT STDMETHODCALLTYPE SetPath( 
            /* [in] */ BSTR bstrPath) = 0;
        
        virtual /* [displaybind][helpstring][id] */ HRESULT STDMETHODCALLTYPE GetCursor( 
            /* [in] */ BSTR bstrCursor,
            /* [out][retval] */ BSTR *pbstrPath) = 0;
        
        virtual /* [displaybind][helpstring][id] */ HRESULT STDMETHODCALLTYPE SetCursor( 
            /* [in] */ BSTR bstrCursor,
            /* [in] */ BSTR bstrPath) = 0;
        
        virtual /* [displaybind][helpstring][id] */ HRESULT STDMETHODCALLTYPE GetSound( 
            /* [in] */ BSTR bstrSoundName,
            /* [out][retval] */ BSTR *pbstrPath) = 0;
        
        virtual /* [displaybind][helpstring][id] */ HRESULT STDMETHODCALLTYPE SetSound( 
            /* [in] */ BSTR bstrSoundName,
            /* [in] */ BSTR bstrPath) = 0;
        
        virtual /* [displaybind][helpstring][id] */ HRESULT STDMETHODCALLTYPE GetIcon( 
            /* [in] */ BSTR bstrIconName,
            /* [out][retval] */ BSTR *pbstrIconPath) = 0;
        
        virtual /* [displaybind][helpstring][id] */ HRESULT STDMETHODCALLTYPE SetIcon( 
            /* [in] */ BSTR bstrIconName,
            /* [in] */ BSTR bstrIconPath) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IThemeVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ITheme * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ITheme * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ITheme * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            ITheme * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            ITheme * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            ITheme * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ITheme * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [bindable][displaybind][helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DisplayName )( 
            ITheme * This,
            /* [out][retval] */ BSTR *pbstrDisplayName);
        
        /* [bindable][displaybind][helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DisplayName )( 
            ITheme * This,
            /* [in] */ BSTR bstrDisplayName);
        
        /* [bindable][displaybind][helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Background )( 
            ITheme * This,
            /* [out][retval] */ BSTR *pbstrPath);
        
        /* [bindable][displaybind][helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Background )( 
            ITheme * This,
            /* [in] */ BSTR bstrPath);
        
        /* [bindable][displaybind][helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_BackgroundTile )( 
            ITheme * This,
            /* [out][retval] */ enumBkgdTile *pnTile);
        
        /* [bindable][displaybind][helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_BackgroundTile )( 
            ITheme * This,
            /* [in] */ enumBkgdTile nTile);
        
        /* [bindable][displaybind][helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ScreenSaver )( 
            ITheme * This,
            /* [out][retval] */ BSTR *pbstrPath);
        
        /* [bindable][displaybind][helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ScreenSaver )( 
            ITheme * This,
            /* [in] */ BSTR bstrPath);
        
        /* [bindable][displaybind][helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_VisualStyle )( 
            ITheme * This,
            /* [out][retval] */ BSTR *pbstrPath);
        
        /* [bindable][displaybind][helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_VisualStyle )( 
            ITheme * This,
            /* [in] */ BSTR bstrPath);
        
        /* [bindable][displaybind][helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_VisualStyleColor )( 
            ITheme * This,
            /* [out][retval] */ BSTR *pbstrPath);
        
        /* [bindable][displaybind][helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_VisualStyleColor )( 
            ITheme * This,
            /* [in] */ BSTR bstrPath);
        
        /* [bindable][displaybind][helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_VisualStyleSize )( 
            ITheme * This,
            /* [out][retval] */ BSTR *pbstrPath);
        
        /* [bindable][displaybind][helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_VisualStyleSize )( 
            ITheme * This,
            /* [in] */ BSTR bstrPath);
        
        /* [displaybind][helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetPath )( 
            ITheme * This,
            /* [in] */ VARIANT_BOOL fExpand,
            /* [out][retval] */ BSTR *pbstrPath);
        
        /* [displaybind][helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetPath )( 
            ITheme * This,
            /* [in] */ BSTR bstrPath);
        
        /* [displaybind][helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetCursor )( 
            ITheme * This,
            /* [in] */ BSTR bstrCursor,
            /* [out][retval] */ BSTR *pbstrPath);
        
        /* [displaybind][helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetCursor )( 
            ITheme * This,
            /* [in] */ BSTR bstrCursor,
            /* [in] */ BSTR bstrPath);
        
        /* [displaybind][helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetSound )( 
            ITheme * This,
            /* [in] */ BSTR bstrSoundName,
            /* [out][retval] */ BSTR *pbstrPath);
        
        /* [displaybind][helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetSound )( 
            ITheme * This,
            /* [in] */ BSTR bstrSoundName,
            /* [in] */ BSTR bstrPath);
        
        /* [displaybind][helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetIcon )( 
            ITheme * This,
            /* [in] */ BSTR bstrIconName,
            /* [out][retval] */ BSTR *pbstrIconPath);
        
        /* [displaybind][helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetIcon )( 
            ITheme * This,
            /* [in] */ BSTR bstrIconName,
            /* [in] */ BSTR bstrIconPath);
        
        END_INTERFACE
    } IThemeVtbl;

    interface ITheme
    {
        CONST_VTBL struct IThemeVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ITheme_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define ITheme_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define ITheme_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define ITheme_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define ITheme_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define ITheme_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define ITheme_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define ITheme_get_DisplayName(This,pbstrDisplayName)	\
    (This)->lpVtbl -> get_DisplayName(This,pbstrDisplayName)

#define ITheme_put_DisplayName(This,bstrDisplayName)	\
    (This)->lpVtbl -> put_DisplayName(This,bstrDisplayName)

#define ITheme_get_Background(This,pbstrPath)	\
    (This)->lpVtbl -> get_Background(This,pbstrPath)

#define ITheme_put_Background(This,bstrPath)	\
    (This)->lpVtbl -> put_Background(This,bstrPath)

#define ITheme_get_BackgroundTile(This,pnTile)	\
    (This)->lpVtbl -> get_BackgroundTile(This,pnTile)

#define ITheme_put_BackgroundTile(This,nTile)	\
    (This)->lpVtbl -> put_BackgroundTile(This,nTile)

#define ITheme_get_ScreenSaver(This,pbstrPath)	\
    (This)->lpVtbl -> get_ScreenSaver(This,pbstrPath)

#define ITheme_put_ScreenSaver(This,bstrPath)	\
    (This)->lpVtbl -> put_ScreenSaver(This,bstrPath)

#define ITheme_get_VisualStyle(This,pbstrPath)	\
    (This)->lpVtbl -> get_VisualStyle(This,pbstrPath)

#define ITheme_put_VisualStyle(This,bstrPath)	\
    (This)->lpVtbl -> put_VisualStyle(This,bstrPath)

#define ITheme_get_VisualStyleColor(This,pbstrPath)	\
    (This)->lpVtbl -> get_VisualStyleColor(This,pbstrPath)

#define ITheme_put_VisualStyleColor(This,bstrPath)	\
    (This)->lpVtbl -> put_VisualStyleColor(This,bstrPath)

#define ITheme_get_VisualStyleSize(This,pbstrPath)	\
    (This)->lpVtbl -> get_VisualStyleSize(This,pbstrPath)

#define ITheme_put_VisualStyleSize(This,bstrPath)	\
    (This)->lpVtbl -> put_VisualStyleSize(This,bstrPath)

#define ITheme_GetPath(This,fExpand,pbstrPath)	\
    (This)->lpVtbl -> GetPath(This,fExpand,pbstrPath)

#define ITheme_SetPath(This,bstrPath)	\
    (This)->lpVtbl -> SetPath(This,bstrPath)

#define ITheme_GetCursor(This,bstrCursor,pbstrPath)	\
    (This)->lpVtbl -> GetCursor(This,bstrCursor,pbstrPath)

#define ITheme_SetCursor(This,bstrCursor,bstrPath)	\
    (This)->lpVtbl -> SetCursor(This,bstrCursor,bstrPath)

#define ITheme_GetSound(This,bstrSoundName,pbstrPath)	\
    (This)->lpVtbl -> GetSound(This,bstrSoundName,pbstrPath)

#define ITheme_SetSound(This,bstrSoundName,bstrPath)	\
    (This)->lpVtbl -> SetSound(This,bstrSoundName,bstrPath)

#define ITheme_GetIcon(This,bstrIconName,pbstrIconPath)	\
    (This)->lpVtbl -> GetIcon(This,bstrIconName,pbstrIconPath)

#define ITheme_SetIcon(This,bstrIconName,bstrIconPath)	\
    (This)->lpVtbl -> SetIcon(This,bstrIconName,bstrIconPath)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [bindable][displaybind][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE ITheme_get_DisplayName_Proxy( 
    ITheme * This,
    /* [out][retval] */ BSTR *pbstrDisplayName);


void __RPC_STUB ITheme_get_DisplayName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [bindable][displaybind][helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE ITheme_put_DisplayName_Proxy( 
    ITheme * This,
    /* [in] */ BSTR bstrDisplayName);


void __RPC_STUB ITheme_put_DisplayName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [bindable][displaybind][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE ITheme_get_Background_Proxy( 
    ITheme * This,
    /* [out][retval] */ BSTR *pbstrPath);


void __RPC_STUB ITheme_get_Background_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [bindable][displaybind][helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE ITheme_put_Background_Proxy( 
    ITheme * This,
    /* [in] */ BSTR bstrPath);


void __RPC_STUB ITheme_put_Background_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [bindable][displaybind][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE ITheme_get_BackgroundTile_Proxy( 
    ITheme * This,
    /* [out][retval] */ enumBkgdTile *pnTile);


void __RPC_STUB ITheme_get_BackgroundTile_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [bindable][displaybind][helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE ITheme_put_BackgroundTile_Proxy( 
    ITheme * This,
    /* [in] */ enumBkgdTile nTile);


void __RPC_STUB ITheme_put_BackgroundTile_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [bindable][displaybind][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE ITheme_get_ScreenSaver_Proxy( 
    ITheme * This,
    /* [out][retval] */ BSTR *pbstrPath);


void __RPC_STUB ITheme_get_ScreenSaver_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [bindable][displaybind][helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE ITheme_put_ScreenSaver_Proxy( 
    ITheme * This,
    /* [in] */ BSTR bstrPath);


void __RPC_STUB ITheme_put_ScreenSaver_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [bindable][displaybind][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE ITheme_get_VisualStyle_Proxy( 
    ITheme * This,
    /* [out][retval] */ BSTR *pbstrPath);


void __RPC_STUB ITheme_get_VisualStyle_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [bindable][displaybind][helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE ITheme_put_VisualStyle_Proxy( 
    ITheme * This,
    /* [in] */ BSTR bstrPath);


void __RPC_STUB ITheme_put_VisualStyle_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [bindable][displaybind][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE ITheme_get_VisualStyleColor_Proxy( 
    ITheme * This,
    /* [out][retval] */ BSTR *pbstrPath);


void __RPC_STUB ITheme_get_VisualStyleColor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [bindable][displaybind][helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE ITheme_put_VisualStyleColor_Proxy( 
    ITheme * This,
    /* [in] */ BSTR bstrPath);


void __RPC_STUB ITheme_put_VisualStyleColor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [bindable][displaybind][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE ITheme_get_VisualStyleSize_Proxy( 
    ITheme * This,
    /* [out][retval] */ BSTR *pbstrPath);


void __RPC_STUB ITheme_get_VisualStyleSize_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [bindable][displaybind][helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE ITheme_put_VisualStyleSize_Proxy( 
    ITheme * This,
    /* [in] */ BSTR bstrPath);


void __RPC_STUB ITheme_put_VisualStyleSize_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [displaybind][helpstring][id] */ HRESULT STDMETHODCALLTYPE ITheme_GetPath_Proxy( 
    ITheme * This,
    /* [in] */ VARIANT_BOOL fExpand,
    /* [out][retval] */ BSTR *pbstrPath);


void __RPC_STUB ITheme_GetPath_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [displaybind][helpstring][id] */ HRESULT STDMETHODCALLTYPE ITheme_SetPath_Proxy( 
    ITheme * This,
    /* [in] */ BSTR bstrPath);


void __RPC_STUB ITheme_SetPath_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [displaybind][helpstring][id] */ HRESULT STDMETHODCALLTYPE ITheme_GetCursor_Proxy( 
    ITheme * This,
    /* [in] */ BSTR bstrCursor,
    /* [out][retval] */ BSTR *pbstrPath);


void __RPC_STUB ITheme_GetCursor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [displaybind][helpstring][id] */ HRESULT STDMETHODCALLTYPE ITheme_SetCursor_Proxy( 
    ITheme * This,
    /* [in] */ BSTR bstrCursor,
    /* [in] */ BSTR bstrPath);


void __RPC_STUB ITheme_SetCursor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [displaybind][helpstring][id] */ HRESULT STDMETHODCALLTYPE ITheme_GetSound_Proxy( 
    ITheme * This,
    /* [in] */ BSTR bstrSoundName,
    /* [out][retval] */ BSTR *pbstrPath);


void __RPC_STUB ITheme_GetSound_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [displaybind][helpstring][id] */ HRESULT STDMETHODCALLTYPE ITheme_SetSound_Proxy( 
    ITheme * This,
    /* [in] */ BSTR bstrSoundName,
    /* [in] */ BSTR bstrPath);


void __RPC_STUB ITheme_SetSound_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [displaybind][helpstring][id] */ HRESULT STDMETHODCALLTYPE ITheme_GetIcon_Proxy( 
    ITheme * This,
    /* [in] */ BSTR bstrIconName,
    /* [out][retval] */ BSTR *pbstrIconPath);


void __RPC_STUB ITheme_GetIcon_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [displaybind][helpstring][id] */ HRESULT STDMETHODCALLTYPE ITheme_SetIcon_Proxy( 
    ITheme * This,
    /* [in] */ BSTR bstrIconName,
    /* [in] */ BSTR bstrIconPath);


void __RPC_STUB ITheme_SetIcon_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __ITheme_INTERFACE_DEFINED__ */


#ifndef __IThemeScheme_INTERFACE_DEFINED__
#define __IThemeScheme_INTERFACE_DEFINED__

/* interface IThemeScheme */
/* [uuid][helpstring][nonextensible][dual][oleautomation][object] */ 

typedef /* [unique] */ IThemeScheme *LPTHEMESCHEME;


EXTERN_C const IID IID_IThemeScheme;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("AA49D906-65B2-42d6-A26A-2EE03C83F839")
    IThemeScheme : public IDispatch
    {
    public:
        virtual /* [bindable][displaybind][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_DisplayName( 
            /* [out][retval] */ BSTR *pbstrDisplayName) = 0;
        
        virtual /* [bindable][displaybind][helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_DisplayName( 
            /* [in] */ BSTR bstrDisplayName) = 0;
        
        virtual /* [bindable][displaybind][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_Path( 
            /* [out][retval] */ BSTR *pbstrPath) = 0;
        
        virtual /* [bindable][displaybind][helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_Path( 
            /* [in] */ BSTR bstrPath) = 0;
        
        virtual /* [bindable][displaybind][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_length( 
            /* [out][retval] */ long *pnLength) = 0;
        
        virtual /* [bindable][displaybind][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_item( 
            /* [in] */ VARIANT varIndex,
            /* [out][retval] */ IThemeStyle **ppThemeStyle) = 0;
        
        virtual /* [bindable][displaybind][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_SelectedStyle( 
            /* [out][retval] */ IThemeStyle **ppThemeStyle) = 0;
        
        virtual /* [bindable][displaybind][helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_SelectedStyle( 
            /* [in] */ IThemeStyle *pThemeStyle) = 0;
        
        virtual /* [displaybind][helpstring][id] */ HRESULT STDMETHODCALLTYPE AddStyle( 
            /* [out][retval] */ IThemeStyle **ppThemeStyle) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IThemeSchemeVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IThemeScheme * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IThemeScheme * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IThemeScheme * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IThemeScheme * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IThemeScheme * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IThemeScheme * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IThemeScheme * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [bindable][displaybind][helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DisplayName )( 
            IThemeScheme * This,
            /* [out][retval] */ BSTR *pbstrDisplayName);
        
        /* [bindable][displaybind][helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DisplayName )( 
            IThemeScheme * This,
            /* [in] */ BSTR bstrDisplayName);
        
        /* [bindable][displaybind][helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Path )( 
            IThemeScheme * This,
            /* [out][retval] */ BSTR *pbstrPath);
        
        /* [bindable][displaybind][helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Path )( 
            IThemeScheme * This,
            /* [in] */ BSTR bstrPath);
        
        /* [bindable][displaybind][helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_length )( 
            IThemeScheme * This,
            /* [out][retval] */ long *pnLength);
        
        /* [bindable][displaybind][helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_item )( 
            IThemeScheme * This,
            /* [in] */ VARIANT varIndex,
            /* [out][retval] */ IThemeStyle **ppThemeStyle);
        
        /* [bindable][displaybind][helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SelectedStyle )( 
            IThemeScheme * This,
            /* [out][retval] */ IThemeStyle **ppThemeStyle);
        
        /* [bindable][displaybind][helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_SelectedStyle )( 
            IThemeScheme * This,
            /* [in] */ IThemeStyle *pThemeStyle);
        
        /* [displaybind][helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *AddStyle )( 
            IThemeScheme * This,
            /* [out][retval] */ IThemeStyle **ppThemeStyle);
        
        END_INTERFACE
    } IThemeSchemeVtbl;

    interface IThemeScheme
    {
        CONST_VTBL struct IThemeSchemeVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IThemeScheme_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IThemeScheme_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IThemeScheme_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IThemeScheme_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IThemeScheme_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IThemeScheme_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IThemeScheme_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IThemeScheme_get_DisplayName(This,pbstrDisplayName)	\
    (This)->lpVtbl -> get_DisplayName(This,pbstrDisplayName)

#define IThemeScheme_put_DisplayName(This,bstrDisplayName)	\
    (This)->lpVtbl -> put_DisplayName(This,bstrDisplayName)

#define IThemeScheme_get_Path(This,pbstrPath)	\
    (This)->lpVtbl -> get_Path(This,pbstrPath)

#define IThemeScheme_put_Path(This,bstrPath)	\
    (This)->lpVtbl -> put_Path(This,bstrPath)

#define IThemeScheme_get_length(This,pnLength)	\
    (This)->lpVtbl -> get_length(This,pnLength)

#define IThemeScheme_get_item(This,varIndex,ppThemeStyle)	\
    (This)->lpVtbl -> get_item(This,varIndex,ppThemeStyle)

#define IThemeScheme_get_SelectedStyle(This,ppThemeStyle)	\
    (This)->lpVtbl -> get_SelectedStyle(This,ppThemeStyle)

#define IThemeScheme_put_SelectedStyle(This,pThemeStyle)	\
    (This)->lpVtbl -> put_SelectedStyle(This,pThemeStyle)

#define IThemeScheme_AddStyle(This,ppThemeStyle)	\
    (This)->lpVtbl -> AddStyle(This,ppThemeStyle)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [bindable][displaybind][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IThemeScheme_get_DisplayName_Proxy( 
    IThemeScheme * This,
    /* [out][retval] */ BSTR *pbstrDisplayName);


void __RPC_STUB IThemeScheme_get_DisplayName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [bindable][displaybind][helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE IThemeScheme_put_DisplayName_Proxy( 
    IThemeScheme * This,
    /* [in] */ BSTR bstrDisplayName);


void __RPC_STUB IThemeScheme_put_DisplayName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [bindable][displaybind][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IThemeScheme_get_Path_Proxy( 
    IThemeScheme * This,
    /* [out][retval] */ BSTR *pbstrPath);


void __RPC_STUB IThemeScheme_get_Path_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [bindable][displaybind][helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE IThemeScheme_put_Path_Proxy( 
    IThemeScheme * This,
    /* [in] */ BSTR bstrPath);


void __RPC_STUB IThemeScheme_put_Path_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [bindable][displaybind][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IThemeScheme_get_length_Proxy( 
    IThemeScheme * This,
    /* [out][retval] */ long *pnLength);


void __RPC_STUB IThemeScheme_get_length_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [bindable][displaybind][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IThemeScheme_get_item_Proxy( 
    IThemeScheme * This,
    /* [in] */ VARIANT varIndex,
    /* [out][retval] */ IThemeStyle **ppThemeStyle);


void __RPC_STUB IThemeScheme_get_item_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [bindable][displaybind][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IThemeScheme_get_SelectedStyle_Proxy( 
    IThemeScheme * This,
    /* [out][retval] */ IThemeStyle **ppThemeStyle);


void __RPC_STUB IThemeScheme_get_SelectedStyle_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [bindable][displaybind][helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE IThemeScheme_put_SelectedStyle_Proxy( 
    IThemeScheme * This,
    /* [in] */ IThemeStyle *pThemeStyle);


void __RPC_STUB IThemeScheme_put_SelectedStyle_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [displaybind][helpstring][id] */ HRESULT STDMETHODCALLTYPE IThemeScheme_AddStyle_Proxy( 
    IThemeScheme * This,
    /* [out][retval] */ IThemeStyle **ppThemeStyle);


void __RPC_STUB IThemeScheme_AddStyle_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IThemeScheme_INTERFACE_DEFINED__ */


#ifndef __IThemeStyle_INTERFACE_DEFINED__
#define __IThemeStyle_INTERFACE_DEFINED__

/* interface IThemeStyle */
/* [uuid][helpstring][nonextensible][dual][oleautomation][object] */ 

typedef /* [unique] */ IThemeStyle *LPTHEMESTYLE;


EXTERN_C const IID IID_IThemeStyle;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("3672E804-D69D-43d8-AF58-F320B8D9AF32")
    IThemeStyle : public IDispatch
    {
    public:
        virtual /* [bindable][displaybind][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_DisplayName( 
            /* [out][retval] */ BSTR *pbstrDisplayName) = 0;
        
        virtual /* [bindable][displaybind][helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_DisplayName( 
            /* [in] */ BSTR bstrDisplayName) = 0;
        
        virtual /* [bindable][displaybind][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [out][retval] */ BSTR *pbstrName) = 0;
        
        virtual /* [bindable][displaybind][helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_Name( 
            /* [in] */ BSTR bstrName) = 0;
        
        virtual /* [bindable][displaybind][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_length( 
            /* [out][retval] */ long *pnLength) = 0;
        
        virtual /* [bindable][displaybind][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_item( 
            /* [in] */ VARIANT varIndex,
            /* [out][retval] */ IThemeSize **ppThemeSize) = 0;
        
        virtual /* [bindable][displaybind][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_SelectedSize( 
            /* [out][retval] */ IThemeSize **ppThemeSize) = 0;
        
        virtual /* [bindable][displaybind][helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_SelectedSize( 
            /* [in] */ IThemeSize *pThemeSize) = 0;
        
        virtual /* [displaybind][helpstring][id] */ HRESULT STDMETHODCALLTYPE AddSize( 
            /* [out][retval] */ IThemeSize **ppThemeSize) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IThemeStyleVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IThemeStyle * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IThemeStyle * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IThemeStyle * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IThemeStyle * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IThemeStyle * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IThemeStyle * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IThemeStyle * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [bindable][displaybind][helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DisplayName )( 
            IThemeStyle * This,
            /* [out][retval] */ BSTR *pbstrDisplayName);
        
        /* [bindable][displaybind][helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DisplayName )( 
            IThemeStyle * This,
            /* [in] */ BSTR bstrDisplayName);
        
        /* [bindable][displaybind][helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IThemeStyle * This,
            /* [out][retval] */ BSTR *pbstrName);
        
        /* [bindable][displaybind][helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Name )( 
            IThemeStyle * This,
            /* [in] */ BSTR bstrName);
        
        /* [bindable][displaybind][helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_length )( 
            IThemeStyle * This,
            /* [out][retval] */ long *pnLength);
        
        /* [bindable][displaybind][helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_item )( 
            IThemeStyle * This,
            /* [in] */ VARIANT varIndex,
            /* [out][retval] */ IThemeSize **ppThemeSize);
        
        /* [bindable][displaybind][helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SelectedSize )( 
            IThemeStyle * This,
            /* [out][retval] */ IThemeSize **ppThemeSize);
        
        /* [bindable][displaybind][helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_SelectedSize )( 
            IThemeStyle * This,
            /* [in] */ IThemeSize *pThemeSize);
        
        /* [displaybind][helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *AddSize )( 
            IThemeStyle * This,
            /* [out][retval] */ IThemeSize **ppThemeSize);
        
        END_INTERFACE
    } IThemeStyleVtbl;

    interface IThemeStyle
    {
        CONST_VTBL struct IThemeStyleVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IThemeStyle_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IThemeStyle_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IThemeStyle_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IThemeStyle_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IThemeStyle_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IThemeStyle_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IThemeStyle_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IThemeStyle_get_DisplayName(This,pbstrDisplayName)	\
    (This)->lpVtbl -> get_DisplayName(This,pbstrDisplayName)

#define IThemeStyle_put_DisplayName(This,bstrDisplayName)	\
    (This)->lpVtbl -> put_DisplayName(This,bstrDisplayName)

#define IThemeStyle_get_Name(This,pbstrName)	\
    (This)->lpVtbl -> get_Name(This,pbstrName)

#define IThemeStyle_put_Name(This,bstrName)	\
    (This)->lpVtbl -> put_Name(This,bstrName)

#define IThemeStyle_get_length(This,pnLength)	\
    (This)->lpVtbl -> get_length(This,pnLength)

#define IThemeStyle_get_item(This,varIndex,ppThemeSize)	\
    (This)->lpVtbl -> get_item(This,varIndex,ppThemeSize)

#define IThemeStyle_get_SelectedSize(This,ppThemeSize)	\
    (This)->lpVtbl -> get_SelectedSize(This,ppThemeSize)

#define IThemeStyle_put_SelectedSize(This,pThemeSize)	\
    (This)->lpVtbl -> put_SelectedSize(This,pThemeSize)

#define IThemeStyle_AddSize(This,ppThemeSize)	\
    (This)->lpVtbl -> AddSize(This,ppThemeSize)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [bindable][displaybind][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IThemeStyle_get_DisplayName_Proxy( 
    IThemeStyle * This,
    /* [out][retval] */ BSTR *pbstrDisplayName);


void __RPC_STUB IThemeStyle_get_DisplayName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [bindable][displaybind][helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE IThemeStyle_put_DisplayName_Proxy( 
    IThemeStyle * This,
    /* [in] */ BSTR bstrDisplayName);


void __RPC_STUB IThemeStyle_put_DisplayName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [bindable][displaybind][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IThemeStyle_get_Name_Proxy( 
    IThemeStyle * This,
    /* [out][retval] */ BSTR *pbstrName);


void __RPC_STUB IThemeStyle_get_Name_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [bindable][displaybind][helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE IThemeStyle_put_Name_Proxy( 
    IThemeStyle * This,
    /* [in] */ BSTR bstrName);


void __RPC_STUB IThemeStyle_put_Name_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [bindable][displaybind][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IThemeStyle_get_length_Proxy( 
    IThemeStyle * This,
    /* [out][retval] */ long *pnLength);


void __RPC_STUB IThemeStyle_get_length_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [bindable][displaybind][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IThemeStyle_get_item_Proxy( 
    IThemeStyle * This,
    /* [in] */ VARIANT varIndex,
    /* [out][retval] */ IThemeSize **ppThemeSize);


void __RPC_STUB IThemeStyle_get_item_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [bindable][displaybind][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IThemeStyle_get_SelectedSize_Proxy( 
    IThemeStyle * This,
    /* [out][retval] */ IThemeSize **ppThemeSize);


void __RPC_STUB IThemeStyle_get_SelectedSize_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [bindable][displaybind][helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE IThemeStyle_put_SelectedSize_Proxy( 
    IThemeStyle * This,
    /* [in] */ IThemeSize *pThemeSize);


void __RPC_STUB IThemeStyle_put_SelectedSize_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [displaybind][helpstring][id] */ HRESULT STDMETHODCALLTYPE IThemeStyle_AddSize_Proxy( 
    IThemeStyle * This,
    /* [out][retval] */ IThemeSize **ppThemeSize);


void __RPC_STUB IThemeStyle_AddSize_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IThemeStyle_INTERFACE_DEFINED__ */


#ifndef __IThemeSize_INTERFACE_DEFINED__
#define __IThemeSize_INTERFACE_DEFINED__

/* interface IThemeSize */
/* [uuid][helpstring][nonextensible][dual][oleautomation][object] */ 

typedef /* [unique] */ IThemeSize *LPTHEMESIZES;

// IThemeSize::SystemMetricFont() Fonts
typedef /* [public][public][public] */ 
enum __MIDL_IThemeSize_0001
    {	SMF_CAPTIONFONT	= 0,
	SMF_SMCAPTIONFONT	= SMF_CAPTIONFONT + 1,
	SMF_MENUFONT	= SMF_SMCAPTIONFONT + 1,
	SMF_ICONTITLEFONT	= SMF_MENUFONT + 1,
	SMF_STATUSFONT	= SMF_ICONTITLEFONT + 1,
	SMF_MESSAGEFONT	= SMF_STATUSFONT + 1
    } 	enumSystemMetricFont;

// IThemeSize::SystemMetricSize() Sizes
typedef /* [public][public][public] */ 
enum __MIDL_IThemeSize_0002
    {	SMS_BORDERWIDTH	= 0,
	SMS_SCROLLWIDTH	= SMS_BORDERWIDTH + 1,
	SMS_SCROLLHEIGHT	= SMS_SCROLLWIDTH + 1,
	SMS_CAPTIONWIDTH	= SMS_SCROLLHEIGHT + 1,
	SMS_CAPTIONHEIGHT	= SMS_CAPTIONWIDTH + 1,
	SMS_SMCAPTIONWIDTH	= SMS_CAPTIONHEIGHT + 1,
	SMS_SMCAPTIONHEIGHT	= SMS_SMCAPTIONWIDTH + 1,
	SMS_MENUWIDTH	= SMS_SMCAPTIONHEIGHT + 1,
	SMS_MENUHEIGHT	= SMS_MENUWIDTH + 1
    } 	enumSystemMetricSize;

// IThemeSize::get_/put_ContrastLevel() Contrast Levels
typedef /* [public][public][public] */ 
enum __MIDL_IThemeSize_0003
    {	CONTRAST_NORMAL	= 0,
	CONTRAST_HIGHBLACK	= 0x1,
	CONTRAST_HIGHWHITE	= 0x2
    } 	enumThemeContrastLevels;


EXTERN_C const IID IID_IThemeSize;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("72DD2E7F-21E5-46dc-8847-CDDCF58B6725")
    IThemeSize : public IDispatch
    {
    public:
        virtual /* [bindable][displaybind][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_DisplayName( 
            /* [out][retval] */ BSTR *pbstrDisplayName) = 0;
        
        virtual /* [bindable][displaybind][helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_DisplayName( 
            /* [in] */ BSTR bstrDisplayName) = 0;
        
        virtual /* [bindable][displaybind][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_Name( 
            /* [out][retval] */ BSTR *pbstrName) = 0;
        
        virtual /* [bindable][displaybind][helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_Name( 
            /* [in] */ BSTR bstrName) = 0;
        
        virtual /* [bindable][displaybind][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_SystemMetricColor( 
            /* [in] */ int nSysColorIndex,
            /* [out][retval] */ COLORREF *pColorRef) = 0;
        
        virtual /* [bindable][displaybind][helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_SystemMetricColor( 
            /* [in] */ int nSysColorIndex,
            /* [in] */ COLORREF ColorRef) = 0;
        
        virtual /* [bindable][displaybind][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_SystemMetricSize( 
            /* [in] */ enumSystemMetricSize nSystemMetricIndex,
            /* [out][retval] */ int *pnSize) = 0;
        
        virtual /* [bindable][displaybind][helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_SystemMetricSize( 
            /* [in] */ enumSystemMetricSize nSystemMetricIndex,
            /* [in] */ int nSize) = 0;
        
        virtual /* [bindable][displaybind][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_WebviewCSS( 
            /* [out][retval] */ BSTR *pbstrPath) = 0;
        
        virtual /* [bindable][displaybind][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_ContrastLevel( 
            /* [out][retval] */ enumThemeContrastLevels *pContrastLevel) = 0;
        
        virtual /* [bindable][displaybind][helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_ContrastLevel( 
            /* [in] */ enumThemeContrastLevels ContrastLevel) = 0;
        
        virtual /* [displaybind][helpstring][id] */ HRESULT STDMETHODCALLTYPE GetSystemMetricFont( 
            /* [in] */ enumSystemMetricFont nFontIndex,
            /* [in] */ LOGFONTW *pLogFontW) = 0;
        
        virtual /* [displaybind][helpstring][id] */ HRESULT STDMETHODCALLTYPE PutSystemMetricFont( 
            /* [in] */ enumSystemMetricFont nFontIndex,
            /* [in] */ LOGFONTW *pLogFontW) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IThemeSizeVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IThemeSize * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IThemeSize * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IThemeSize * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IThemeSize * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IThemeSize * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IThemeSize * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IThemeSize * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [bindable][displaybind][helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_DisplayName )( 
            IThemeSize * This,
            /* [out][retval] */ BSTR *pbstrDisplayName);
        
        /* [bindable][displaybind][helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_DisplayName )( 
            IThemeSize * This,
            /* [in] */ BSTR bstrDisplayName);
        
        /* [bindable][displaybind][helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_Name )( 
            IThemeSize * This,
            /* [out][retval] */ BSTR *pbstrName);
        
        /* [bindable][displaybind][helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_Name )( 
            IThemeSize * This,
            /* [in] */ BSTR bstrName);
        
        /* [bindable][displaybind][helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SystemMetricColor )( 
            IThemeSize * This,
            /* [in] */ int nSysColorIndex,
            /* [out][retval] */ COLORREF *pColorRef);
        
        /* [bindable][displaybind][helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_SystemMetricColor )( 
            IThemeSize * This,
            /* [in] */ int nSysColorIndex,
            /* [in] */ COLORREF ColorRef);
        
        /* [bindable][displaybind][helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SystemMetricSize )( 
            IThemeSize * This,
            /* [in] */ enumSystemMetricSize nSystemMetricIndex,
            /* [out][retval] */ int *pnSize);
        
        /* [bindable][displaybind][helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_SystemMetricSize )( 
            IThemeSize * This,
            /* [in] */ enumSystemMetricSize nSystemMetricIndex,
            /* [in] */ int nSize);
        
        /* [bindable][displaybind][helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_WebviewCSS )( 
            IThemeSize * This,
            /* [out][retval] */ BSTR *pbstrPath);
        
        /* [bindable][displaybind][helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_ContrastLevel )( 
            IThemeSize * This,
            /* [out][retval] */ enumThemeContrastLevels *pContrastLevel);
        
        /* [bindable][displaybind][helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_ContrastLevel )( 
            IThemeSize * This,
            /* [in] */ enumThemeContrastLevels ContrastLevel);
        
        /* [displaybind][helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetSystemMetricFont )( 
            IThemeSize * This,
            /* [in] */ enumSystemMetricFont nFontIndex,
            /* [in] */ LOGFONTW *pLogFontW);
        
        /* [displaybind][helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *PutSystemMetricFont )( 
            IThemeSize * This,
            /* [in] */ enumSystemMetricFont nFontIndex,
            /* [in] */ LOGFONTW *pLogFontW);
        
        END_INTERFACE
    } IThemeSizeVtbl;

    interface IThemeSize
    {
        CONST_VTBL struct IThemeSizeVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IThemeSize_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IThemeSize_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IThemeSize_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IThemeSize_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IThemeSize_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IThemeSize_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IThemeSize_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IThemeSize_get_DisplayName(This,pbstrDisplayName)	\
    (This)->lpVtbl -> get_DisplayName(This,pbstrDisplayName)

#define IThemeSize_put_DisplayName(This,bstrDisplayName)	\
    (This)->lpVtbl -> put_DisplayName(This,bstrDisplayName)

#define IThemeSize_get_Name(This,pbstrName)	\
    (This)->lpVtbl -> get_Name(This,pbstrName)

#define IThemeSize_put_Name(This,bstrName)	\
    (This)->lpVtbl -> put_Name(This,bstrName)

#define IThemeSize_get_SystemMetricColor(This,nSysColorIndex,pColorRef)	\
    (This)->lpVtbl -> get_SystemMetricColor(This,nSysColorIndex,pColorRef)

#define IThemeSize_put_SystemMetricColor(This,nSysColorIndex,ColorRef)	\
    (This)->lpVtbl -> put_SystemMetricColor(This,nSysColorIndex,ColorRef)

#define IThemeSize_get_SystemMetricSize(This,nSystemMetricIndex,pnSize)	\
    (This)->lpVtbl -> get_SystemMetricSize(This,nSystemMetricIndex,pnSize)

#define IThemeSize_put_SystemMetricSize(This,nSystemMetricIndex,nSize)	\
    (This)->lpVtbl -> put_SystemMetricSize(This,nSystemMetricIndex,nSize)

#define IThemeSize_get_WebviewCSS(This,pbstrPath)	\
    (This)->lpVtbl -> get_WebviewCSS(This,pbstrPath)

#define IThemeSize_get_ContrastLevel(This,pContrastLevel)	\
    (This)->lpVtbl -> get_ContrastLevel(This,pContrastLevel)

#define IThemeSize_put_ContrastLevel(This,ContrastLevel)	\
    (This)->lpVtbl -> put_ContrastLevel(This,ContrastLevel)

#define IThemeSize_GetSystemMetricFont(This,nFontIndex,pLogFontW)	\
    (This)->lpVtbl -> GetSystemMetricFont(This,nFontIndex,pLogFontW)

#define IThemeSize_PutSystemMetricFont(This,nFontIndex,pLogFontW)	\
    (This)->lpVtbl -> PutSystemMetricFont(This,nFontIndex,pLogFontW)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [bindable][displaybind][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IThemeSize_get_DisplayName_Proxy( 
    IThemeSize * This,
    /* [out][retval] */ BSTR *pbstrDisplayName);


void __RPC_STUB IThemeSize_get_DisplayName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [bindable][displaybind][helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE IThemeSize_put_DisplayName_Proxy( 
    IThemeSize * This,
    /* [in] */ BSTR bstrDisplayName);


void __RPC_STUB IThemeSize_put_DisplayName_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [bindable][displaybind][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IThemeSize_get_Name_Proxy( 
    IThemeSize * This,
    /* [out][retval] */ BSTR *pbstrName);


void __RPC_STUB IThemeSize_get_Name_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [bindable][displaybind][helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE IThemeSize_put_Name_Proxy( 
    IThemeSize * This,
    /* [in] */ BSTR bstrName);


void __RPC_STUB IThemeSize_put_Name_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [bindable][displaybind][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IThemeSize_get_SystemMetricColor_Proxy( 
    IThemeSize * This,
    /* [in] */ int nSysColorIndex,
    /* [out][retval] */ COLORREF *pColorRef);


void __RPC_STUB IThemeSize_get_SystemMetricColor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [bindable][displaybind][helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE IThemeSize_put_SystemMetricColor_Proxy( 
    IThemeSize * This,
    /* [in] */ int nSysColorIndex,
    /* [in] */ COLORREF ColorRef);


void __RPC_STUB IThemeSize_put_SystemMetricColor_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [bindable][displaybind][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IThemeSize_get_SystemMetricSize_Proxy( 
    IThemeSize * This,
    /* [in] */ enumSystemMetricSize nSystemMetricIndex,
    /* [out][retval] */ int *pnSize);


void __RPC_STUB IThemeSize_get_SystemMetricSize_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [bindable][displaybind][helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE IThemeSize_put_SystemMetricSize_Proxy( 
    IThemeSize * This,
    /* [in] */ enumSystemMetricSize nSystemMetricIndex,
    /* [in] */ int nSize);


void __RPC_STUB IThemeSize_put_SystemMetricSize_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [bindable][displaybind][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IThemeSize_get_WebviewCSS_Proxy( 
    IThemeSize * This,
    /* [out][retval] */ BSTR *pbstrPath);


void __RPC_STUB IThemeSize_get_WebviewCSS_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [bindable][displaybind][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IThemeSize_get_ContrastLevel_Proxy( 
    IThemeSize * This,
    /* [out][retval] */ enumThemeContrastLevels *pContrastLevel);


void __RPC_STUB IThemeSize_get_ContrastLevel_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [bindable][displaybind][helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE IThemeSize_put_ContrastLevel_Proxy( 
    IThemeSize * This,
    /* [in] */ enumThemeContrastLevels ContrastLevel);


void __RPC_STUB IThemeSize_put_ContrastLevel_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [displaybind][helpstring][id] */ HRESULT STDMETHODCALLTYPE IThemeSize_GetSystemMetricFont_Proxy( 
    IThemeSize * This,
    /* [in] */ enumSystemMetricFont nFontIndex,
    /* [in] */ LOGFONTW *pLogFontW);


void __RPC_STUB IThemeSize_GetSystemMetricFont_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [displaybind][helpstring][id] */ HRESULT STDMETHODCALLTYPE IThemeSize_PutSystemMetricFont_Proxy( 
    IThemeSize * This,
    /* [in] */ enumSystemMetricFont nFontIndex,
    /* [in] */ LOGFONTW *pLogFontW);


void __RPC_STUB IThemeSize_PutSystemMetricFont_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IThemeSize_INTERFACE_DEFINED__ */


#ifndef __IThemeManager_INTERFACE_DEFINED__
#define __IThemeManager_INTERFACE_DEFINED__

/* interface IThemeManager */
/* [uuid][helpstring][nonextensible][dual][oleautomation][object] */ 

typedef /* [unique] */ IThemeManager *LPTHEMEMANAGER;

// These are the names of the Special Themes for GetSpecialTheme()/SetSpecialTheme()
#define SZ_STDEFAULTTHEME            L"DefaultTheme"                // This is what the installer determines is most appropriate for the user.
// These are the names of the Special Scheme for GetSpecialScheme()/SetSpecialScheme()
#define SZ_SSDEFAULVISUALSTYLEON     L"DefaultVisualStyleOn"        // This is what the installer determines is most appropriate for the user with visual styles on.
#define SZ_SSDEFAULVISUALSTYLEOFF    L"DefaultVisualStyleOff"       // This is what the installer determines is most appropriate for the user with visual styles off.
// These are the names of the properties for GetSelectedSchemeProperty()
#define SZ_CSP_PATH                  L"Path"                        // This is the directory containing the currently selected .mstheme file.
#define SZ_CSP_FILE                  L"File"                        // This is the path including the filename to the currently selected .mstheme file.
#define SZ_CSP_DISPLAYNAME           L"DisplayName"                 // This is the display name of the currently selected scheme.
#define SZ_CSP_CANONICALNAME         L"Name"                        // This is the canonical name of the currently selected scheme.
#define SZ_CSP_COLOR                 L"Color"                       // This is the color name of the currently selected scheme.
#define SZ_CSP_SIZE                  L"Size"                        // This is the canonical size name of the currently selected scheme.

EXTERN_C const IID IID_IThemeManager;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("04D5D56C-EEAF-4419-B786-300284D6BB5F")
    IThemeManager : public IDispatch
    {
    public:
        virtual /* [bindable][displaybind][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_length( 
            /* [out][retval] */ long *pnLength) = 0;
        
        virtual /* [bindable][displaybind][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_item( 
            /* [in] */ VARIANT varIndex,
            /* [out][retval] */ ITheme **ppTheme) = 0;
        
        virtual /* [bindable][displaybind][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_schemeLength( 
            /* [out][retval] */ long *pnLength) = 0;
        
        virtual /* [bindable][displaybind][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_schemeItem( 
            /* [in] */ VARIANT varIndex,
            /* [out][retval] */ IThemeScheme **ppThemeScheme) = 0;
        
        virtual /* [bindable][displaybind][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_WebviewCSS( 
            /* [out][retval] */ BSTR *pbstrPath) = 0;
        
        virtual /* [bindable][displaybind][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_SelectedTheme( 
            /* [out][retval] */ ITheme **ppTheme) = 0;
        
        virtual /* [bindable][displaybind][helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_SelectedTheme( 
            /* [in] */ ITheme *pTheme) = 0;
        
        virtual /* [bindable][displaybind][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE get_SelectedScheme( 
            /* [out][retval] */ IThemeScheme **ppThemeScheme) = 0;
        
        virtual /* [bindable][displaybind][helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE put_SelectedScheme( 
            /* [in] */ IThemeScheme *pThemeScheme) = 0;
        
        virtual /* [displaybind][helpstring][id] */ HRESULT STDMETHODCALLTYPE GetSpecialTheme( 
            /* [in] */ BSTR bstrName,
            /* [out][retval] */ ITheme **ppTheme) = 0;
        
        virtual /* [displaybind][helpstring][id] */ HRESULT STDMETHODCALLTYPE SetSpecialTheme( 
            /* [in] */ BSTR bstrName,
            /* [in] */ ITheme *pTheme) = 0;
        
        virtual /* [displaybind][helpstring][id] */ HRESULT STDMETHODCALLTYPE GetSpecialScheme( 
            /* [in] */ BSTR bstrName,
            /* [out] */ IThemeScheme **ppThemeScheme,
            /* [out] */ IThemeStyle **ppThemeStyle,
            /* [out][retval] */ IThemeSize **ppThemeSize) = 0;
        
        virtual /* [displaybind][helpstring][id] */ HRESULT STDMETHODCALLTYPE SetSpecialScheme( 
            /* [in] */ BSTR bstrName,
            /* [in] */ IThemeScheme *pThemeScheme,
            /* [in] */ IThemeStyle *pThemeStyle,
            /* [in] */ IThemeSize *pThemeSize) = 0;
        
        virtual /* [displaybind][helpstring][id] */ HRESULT STDMETHODCALLTYPE GetSelectedSchemeProperty( 
            /* [in] */ BSTR bstrName,
            /* [out][retval] */ BSTR *pbstrValue) = 0;
        
        virtual /* [displaybind][helpstring][id] */ HRESULT STDMETHODCALLTYPE ApplyNow( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IThemeManagerVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IThemeManager * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IThemeManager * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IThemeManager * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IThemeManager * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IThemeManager * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IThemeManager * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IThemeManager * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [bindable][displaybind][helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_length )( 
            IThemeManager * This,
            /* [out][retval] */ long *pnLength);
        
        /* [bindable][displaybind][helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_item )( 
            IThemeManager * This,
            /* [in] */ VARIANT varIndex,
            /* [out][retval] */ ITheme **ppTheme);
        
        /* [bindable][displaybind][helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_schemeLength )( 
            IThemeManager * This,
            /* [out][retval] */ long *pnLength);
        
        /* [bindable][displaybind][helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_schemeItem )( 
            IThemeManager * This,
            /* [in] */ VARIANT varIndex,
            /* [out][retval] */ IThemeScheme **ppThemeScheme);
        
        /* [bindable][displaybind][helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_WebviewCSS )( 
            IThemeManager * This,
            /* [out][retval] */ BSTR *pbstrPath);
        
        /* [bindable][displaybind][helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SelectedTheme )( 
            IThemeManager * This,
            /* [out][retval] */ ITheme **ppTheme);
        
        /* [bindable][displaybind][helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_SelectedTheme )( 
            IThemeManager * This,
            /* [in] */ ITheme *pTheme);
        
        /* [bindable][displaybind][helpstring][propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_SelectedScheme )( 
            IThemeManager * This,
            /* [out][retval] */ IThemeScheme **ppThemeScheme);
        
        /* [bindable][displaybind][helpstring][propput][id] */ HRESULT ( STDMETHODCALLTYPE *put_SelectedScheme )( 
            IThemeManager * This,
            /* [in] */ IThemeScheme *pThemeScheme);
        
        /* [displaybind][helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetSpecialTheme )( 
            IThemeManager * This,
            /* [in] */ BSTR bstrName,
            /* [out][retval] */ ITheme **ppTheme);
        
        /* [displaybind][helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetSpecialTheme )( 
            IThemeManager * This,
            /* [in] */ BSTR bstrName,
            /* [in] */ ITheme *pTheme);
        
        /* [displaybind][helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetSpecialScheme )( 
            IThemeManager * This,
            /* [in] */ BSTR bstrName,
            /* [out] */ IThemeScheme **ppThemeScheme,
            /* [out] */ IThemeStyle **ppThemeStyle,
            /* [out][retval] */ IThemeSize **ppThemeSize);
        
        /* [displaybind][helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetSpecialScheme )( 
            IThemeManager * This,
            /* [in] */ BSTR bstrName,
            /* [in] */ IThemeScheme *pThemeScheme,
            /* [in] */ IThemeStyle *pThemeStyle,
            /* [in] */ IThemeSize *pThemeSize);
        
        /* [displaybind][helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetSelectedSchemeProperty )( 
            IThemeManager * This,
            /* [in] */ BSTR bstrName,
            /* [out][retval] */ BSTR *pbstrValue);
        
        /* [displaybind][helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *ApplyNow )( 
            IThemeManager * This);
        
        END_INTERFACE
    } IThemeManagerVtbl;

    interface IThemeManager
    {
        CONST_VTBL struct IThemeManagerVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IThemeManager_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IThemeManager_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IThemeManager_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IThemeManager_GetTypeInfoCount(This,pctinfo)	\
    (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo)

#define IThemeManager_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo)

#define IThemeManager_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)

#define IThemeManager_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)


#define IThemeManager_get_length(This,pnLength)	\
    (This)->lpVtbl -> get_length(This,pnLength)

#define IThemeManager_get_item(This,varIndex,ppTheme)	\
    (This)->lpVtbl -> get_item(This,varIndex,ppTheme)

#define IThemeManager_get_schemeLength(This,pnLength)	\
    (This)->lpVtbl -> get_schemeLength(This,pnLength)

#define IThemeManager_get_schemeItem(This,varIndex,ppThemeScheme)	\
    (This)->lpVtbl -> get_schemeItem(This,varIndex,ppThemeScheme)

#define IThemeManager_get_WebviewCSS(This,pbstrPath)	\
    (This)->lpVtbl -> get_WebviewCSS(This,pbstrPath)

#define IThemeManager_get_SelectedTheme(This,ppTheme)	\
    (This)->lpVtbl -> get_SelectedTheme(This,ppTheme)

#define IThemeManager_put_SelectedTheme(This,pTheme)	\
    (This)->lpVtbl -> put_SelectedTheme(This,pTheme)

#define IThemeManager_get_SelectedScheme(This,ppThemeScheme)	\
    (This)->lpVtbl -> get_SelectedScheme(This,ppThemeScheme)

#define IThemeManager_put_SelectedScheme(This,pThemeScheme)	\
    (This)->lpVtbl -> put_SelectedScheme(This,pThemeScheme)

#define IThemeManager_GetSpecialTheme(This,bstrName,ppTheme)	\
    (This)->lpVtbl -> GetSpecialTheme(This,bstrName,ppTheme)

#define IThemeManager_SetSpecialTheme(This,bstrName,pTheme)	\
    (This)->lpVtbl -> SetSpecialTheme(This,bstrName,pTheme)

#define IThemeManager_GetSpecialScheme(This,bstrName,ppThemeScheme,ppThemeStyle,ppThemeSize)	\
    (This)->lpVtbl -> GetSpecialScheme(This,bstrName,ppThemeScheme,ppThemeStyle,ppThemeSize)

#define IThemeManager_SetSpecialScheme(This,bstrName,pThemeScheme,pThemeStyle,pThemeSize)	\
    (This)->lpVtbl -> SetSpecialScheme(This,bstrName,pThemeScheme,pThemeStyle,pThemeSize)

#define IThemeManager_GetSelectedSchemeProperty(This,bstrName,pbstrValue)	\
    (This)->lpVtbl -> GetSelectedSchemeProperty(This,bstrName,pbstrValue)

#define IThemeManager_ApplyNow(This)	\
    (This)->lpVtbl -> ApplyNow(This)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [bindable][displaybind][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IThemeManager_get_length_Proxy( 
    IThemeManager * This,
    /* [out][retval] */ long *pnLength);


void __RPC_STUB IThemeManager_get_length_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [bindable][displaybind][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IThemeManager_get_item_Proxy( 
    IThemeManager * This,
    /* [in] */ VARIANT varIndex,
    /* [out][retval] */ ITheme **ppTheme);


void __RPC_STUB IThemeManager_get_item_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [bindable][displaybind][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IThemeManager_get_schemeLength_Proxy( 
    IThemeManager * This,
    /* [out][retval] */ long *pnLength);


void __RPC_STUB IThemeManager_get_schemeLength_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [bindable][displaybind][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IThemeManager_get_schemeItem_Proxy( 
    IThemeManager * This,
    /* [in] */ VARIANT varIndex,
    /* [out][retval] */ IThemeScheme **ppThemeScheme);


void __RPC_STUB IThemeManager_get_schemeItem_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [bindable][displaybind][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IThemeManager_get_WebviewCSS_Proxy( 
    IThemeManager * This,
    /* [out][retval] */ BSTR *pbstrPath);


void __RPC_STUB IThemeManager_get_WebviewCSS_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [bindable][displaybind][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IThemeManager_get_SelectedTheme_Proxy( 
    IThemeManager * This,
    /* [out][retval] */ ITheme **ppTheme);


void __RPC_STUB IThemeManager_get_SelectedTheme_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [bindable][displaybind][helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE IThemeManager_put_SelectedTheme_Proxy( 
    IThemeManager * This,
    /* [in] */ ITheme *pTheme);


void __RPC_STUB IThemeManager_put_SelectedTheme_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [bindable][displaybind][helpstring][propget][id] */ HRESULT STDMETHODCALLTYPE IThemeManager_get_SelectedScheme_Proxy( 
    IThemeManager * This,
    /* [out][retval] */ IThemeScheme **ppThemeScheme);


void __RPC_STUB IThemeManager_get_SelectedScheme_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [bindable][displaybind][helpstring][propput][id] */ HRESULT STDMETHODCALLTYPE IThemeManager_put_SelectedScheme_Proxy( 
    IThemeManager * This,
    /* [in] */ IThemeScheme *pThemeScheme);


void __RPC_STUB IThemeManager_put_SelectedScheme_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [displaybind][helpstring][id] */ HRESULT STDMETHODCALLTYPE IThemeManager_GetSpecialTheme_Proxy( 
    IThemeManager * This,
    /* [in] */ BSTR bstrName,
    /* [out][retval] */ ITheme **ppTheme);


void __RPC_STUB IThemeManager_GetSpecialTheme_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [displaybind][helpstring][id] */ HRESULT STDMETHODCALLTYPE IThemeManager_SetSpecialTheme_Proxy( 
    IThemeManager * This,
    /* [in] */ BSTR bstrName,
    /* [in] */ ITheme *pTheme);


void __RPC_STUB IThemeManager_SetSpecialTheme_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [displaybind][helpstring][id] */ HRESULT STDMETHODCALLTYPE IThemeManager_GetSpecialScheme_Proxy( 
    IThemeManager * This,
    /* [in] */ BSTR bstrName,
    /* [out] */ IThemeScheme **ppThemeScheme,
    /* [out] */ IThemeStyle **ppThemeStyle,
    /* [out][retval] */ IThemeSize **ppThemeSize);


void __RPC_STUB IThemeManager_GetSpecialScheme_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [displaybind][helpstring][id] */ HRESULT STDMETHODCALLTYPE IThemeManager_SetSpecialScheme_Proxy( 
    IThemeManager * This,
    /* [in] */ BSTR bstrName,
    /* [in] */ IThemeScheme *pThemeScheme,
    /* [in] */ IThemeStyle *pThemeStyle,
    /* [in] */ IThemeSize *pThemeSize);


void __RPC_STUB IThemeManager_SetSpecialScheme_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [displaybind][helpstring][id] */ HRESULT STDMETHODCALLTYPE IThemeManager_GetSelectedSchemeProperty_Proxy( 
    IThemeManager * This,
    /* [in] */ BSTR bstrName,
    /* [out][retval] */ BSTR *pbstrValue);


void __RPC_STUB IThemeManager_GetSelectedSchemeProperty_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [displaybind][helpstring][id] */ HRESULT STDMETHODCALLTYPE IThemeManager_ApplyNow_Proxy( 
    IThemeManager * This);


void __RPC_STUB IThemeManager_ApplyNow_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IThemeManager_INTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_ThemeManager;

#ifdef __cplusplus

class DECLSPEC_UUID("2E17C0EF-2851-459b-A3C8-27A41D4BC9F7")
ThemeManager;
#endif

EXTERN_C const CLSID CLSID_Theme;

#ifdef __cplusplus

class DECLSPEC_UUID("F60691B4-3BD8-4f42-B2FD-20853C433A74")
Theme;
#endif

EXTERN_C const CLSID CLSID_ThemeScheme;

#ifdef __cplusplus

class DECLSPEC_UUID("1C995F92-244F-48ac-9784-4AF9586EBBBA")
ThemeScheme;
#endif

EXTERN_C const CLSID CLSID_ThemeStyle;

#ifdef __cplusplus

class DECLSPEC_UUID("AFCEFAC8-8097-4ee5-82DF-121202D95342")
ThemeStyle;
#endif

EXTERN_C const CLSID CLSID_ThemeSize;

#ifdef __cplusplus

class DECLSPEC_UUID("05AF76AC-4245-468f-AE35-6D233436937A")
ThemeSize;
#endif

#ifndef __IThemePreview_INTERFACE_DEFINED__
#define __IThemePreview_INTERFACE_DEFINED__

/* interface IThemePreview */
/* [uuid][helpstring][nonextensible][dual][oleautomation][object] */ 

typedef /* [unique] */ IThemePreview *LPTHEMEPREVIEW;

// IThemePreview::CreatePreview() dwFlags
typedef /* [public] */ 
enum __MIDL_IThemePreview_0001
    {	TMPREV_NONE	= 0,
	TMPREV_SHOWMONITOR	= 0x1,
	TMPREV_SHOWBKGND	= 0x2,
	TMPREV_SHOWVS	= 0x4,
	TMPREV_SHOWICONS	= 0x8
    } 	enumThemePreviewFlags;


EXTERN_C const IID IID_IThemePreview;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("b63705f2-b2a2-401e-a20d-643e6b554a1d")
    IThemePreview : public IUnknown
    {
    public:
        virtual /* [displaybind][helpstring][id] */ HRESULT STDMETHODCALLTYPE UpdatePreview( 
            /* [in] */ IPropertyBag *pPropertyBag) = 0;
        
        virtual /* [displaybind][helpstring][id] */ HRESULT STDMETHODCALLTYPE CreatePreview( 
            /* [in] */ HWND hwndParent,
            /* [in] */ DWORD dwFlags,
            /* [in] */ DWORD dwStyle,
            /* [in] */ DWORD dwExStyle,
            /* [in] */ int x,
            /* [in] */ int y,
            /* [in] */ int nWidth,
            /* [in] */ int nHeight,
            /* [in] */ IPropertyBag *pPropertyBag,
            /* [in] */ DWORD dwCtrlID) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IThemePreviewVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IThemePreview * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IThemePreview * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IThemePreview * This);
        
        /* [displaybind][helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *UpdatePreview )( 
            IThemePreview * This,
            /* [in] */ IPropertyBag *pPropertyBag);
        
        /* [displaybind][helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *CreatePreview )( 
            IThemePreview * This,
            /* [in] */ HWND hwndParent,
            /* [in] */ DWORD dwFlags,
            /* [in] */ DWORD dwStyle,
            /* [in] */ DWORD dwExStyle,
            /* [in] */ int x,
            /* [in] */ int y,
            /* [in] */ int nWidth,
            /* [in] */ int nHeight,
            /* [in] */ IPropertyBag *pPropertyBag,
            /* [in] */ DWORD dwCtrlID);
        
        END_INTERFACE
    } IThemePreviewVtbl;

    interface IThemePreview
    {
        CONST_VTBL struct IThemePreviewVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IThemePreview_QueryInterface(This,riid,ppvObject)	\
    (This)->lpVtbl -> QueryInterface(This,riid,ppvObject)

#define IThemePreview_AddRef(This)	\
    (This)->lpVtbl -> AddRef(This)

#define IThemePreview_Release(This)	\
    (This)->lpVtbl -> Release(This)


#define IThemePreview_UpdatePreview(This,pPropertyBag)	\
    (This)->lpVtbl -> UpdatePreview(This,pPropertyBag)

#define IThemePreview_CreatePreview(This,hwndParent,dwFlags,dwStyle,dwExStyle,x,y,nWidth,nHeight,pPropertyBag,dwCtrlID)	\
    (This)->lpVtbl -> CreatePreview(This,hwndParent,dwFlags,dwStyle,dwExStyle,x,y,nWidth,nHeight,pPropertyBag,dwCtrlID)

#endif /* COBJMACROS */


#endif 	/* C style interface */



/* [displaybind][helpstring][id] */ HRESULT STDMETHODCALLTYPE IThemePreview_UpdatePreview_Proxy( 
    IThemePreview * This,
    /* [in] */ IPropertyBag *pPropertyBag);


void __RPC_STUB IThemePreview_UpdatePreview_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);


/* [displaybind][helpstring][id] */ HRESULT STDMETHODCALLTYPE IThemePreview_CreatePreview_Proxy( 
    IThemePreview * This,
    /* [in] */ HWND hwndParent,
    /* [in] */ DWORD dwFlags,
    /* [in] */ DWORD dwStyle,
    /* [in] */ DWORD dwExStyle,
    /* [in] */ int x,
    /* [in] */ int y,
    /* [in] */ int nWidth,
    /* [in] */ int nHeight,
    /* [in] */ IPropertyBag *pPropertyBag,
    /* [in] */ DWORD dwCtrlID);


void __RPC_STUB IThemePreview_CreatePreview_Stub(
    IRpcStubBuffer *This,
    IRpcChannelBuffer *_pRpcChannelBuffer,
    PRPC_MESSAGE _pRpcMessage,
    DWORD *_pdwStubPhase);



#endif 	/* __IThemePreview_INTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_ThemePreview;

#ifdef __cplusplus

class DECLSPEC_UUID("B7BBD408-F09C-4aa8-B65E-A00B8FE0F0B9")
ThemePreview;
#endif
#endif /* __Theme_LIBRARY_DEFINED__ */

/* interface __MIDL_itf_theme_0275 */
/* [local] */ 

#endif // _THEMEIDL_IDL_H_


extern RPC_IF_HANDLE __MIDL_itf_theme_0275_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_theme_0275_v0_0_s_ifspec;

/* Additional Prototypes for ALL interfaces */

/* end of Additional Prototypes */

#ifdef __cplusplus
}
#endif

#endif


